package Controlador;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import Modelo.IUsuario;
import Modelo.Usuario;

public class UsuarioDao {
	
	public void create (IUsuario user){
		
		if (findUsuarioByNif(user.getNif())==null){
			EntityManager em = Singleton.getInstance();
			em.getTransaction().begin();
			em.persist(user);
			em.getTransaction().commit();
			
			System.out.println("se crea el cliente");
		}else{
			System.out.println("No se crea el cliente");
		}
	}
	
	public void update (IUsuario user){
		UsuarioDao uDao = new UsuarioDao();
		user.setIdUsuario(uDao.findUsuarioByNif(user.getNif()).getIdUsuario());

		EntityManager em = Singleton.getInstance();
		em.getTransaction().begin();
		em.merge(user);
		em.getTransaction().commit();
	}

	public IUsuario findUsuarioByNif (String dni){
				
		EntityManager em = Singleton.getInstance();
		Query query = em.createNamedQuery("Usuario.findByNif");
		query.setParameter("nif", dni);
		return (Usuario) query.getSingleResult();
	}

}
